package com.bbzn.device.client.service;

import com.bbzn.device.client.dataobject.Video;
import com.bbzn.device.client.dto.video.VideoDTO;
import com.bbzn.device.client.utils.PageInfo;

import java.util.List;

/**
 * @Author wulongbo
 * @Date 2021/6/8 14:20
 * @Version 1.0
 */
public interface VideoService {


    int deleteByPrimaryKey(Long videoId);

    int insert(Video record);

    int insertOrUpdate(Video record);

    int insertOrUpdateSelective(Video record);

    int insertSelective(Video record);

    Video selectByPrimaryKey(Long videoId);

    int updateByPrimaryKeySelective(Video record);

    int updateByPrimaryKey(Video record);

    int updateBatch(List<Video> list);

    int updateBatchSelective(List<Video> list);

    int batchInsert(List<Video> list);

    /**
     * 获赞总数
     * @param userPhone
     * @return
     */
    Integer selectSumAgreeSelective(String userPhone);

    /**
     * 查询视频列表
     *
     * @return
     * @throws Exception
     */
    PageInfo<VideoDTO> selectPageSelective(VideoDTO record);

    List<VideoDTO> selectBySelective(Video record);

    List<VideoDTO> selectIsLikedVideo(String userPhone);

    /**
     * 查询当前登录的用户点赞和关注过的视频和博主
     * @param record
     * @return
     */
    PageInfo<VideoDTO> selectPageLonginUPhoneSelective(VideoDTO record);

    /**
     * 关注列表用到的方法
     * 关注列表获取关注人头像  根据博主最近一条发布的时候获取头像
     * @param userPhone
     * @return
     */
    String selectByAuthorPictureUrl(String userPhone);

    /**
     * 查询自己的发布的所有视频列表
     * @param record
     * @return
     */
    List<VideoDTO> getUserVideoInfo(VideoDTO record);

    /**
     * 返回所有关注人视频列表数据
     * @param record
     * @return
     */
    PageInfo<VideoDTO> getFollowUserVideoList(VideoDTO record);
}

